﻿namespace MicroCloud.Authorization
{
    #region "实体属性信息"
    /// <summary>
    /// 实体属性信息
    /// </summary>
    public class EntityProperty
    {
        #region "属性"
        #region "获取或设置 属性名"
        /// <summary>
        /// 获取或设置 属性名
        /// </summary>
        public string Name { get; set; }
        #endregion
        #region "获取或设置 属性显示"
        /// <summary>
        /// 获取或设置 属性显示
        /// </summary>
        public string Display { get; set; }
        #endregion
        #region "获取或设置 属性数据类型"
        /// <summary>
        /// 获取或设置 属性数据类型
        /// </summary>
        public string TypeName { get; set; }
        #endregion
        #region "获取或设置 标记集合"
        /// <summary>
        /// 获取或设置 标记集合
        /// </summary>
        public List<EntityPropertyFlag> Flags { get; set; }
        #endregion

        #region "获取或设置 数据值范围集合（主要针对枚举类型）"
        /// <summary>
        /// 获取或设置 数据值范围集合（主要针对枚举类型）
        /// </summary>
        public List<object> ValueRange { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个实体属性信息的新实例"
        /// <summary>
        /// 初始化一个实体属性信息 <see cref="EntityProperty"/> 的新实例
        /// </summary>
        public EntityProperty()
        {
            ValueRange = new List<object>();
            Flags = new List<EntityPropertyFlag>();
        }
        #endregion

        #endregion

    }
    #endregion

}
